Synaser - nutne probuzeni mobilu
Otázka od: Raul Endymion
30. 11. 2003 12:27
Ahojda,
mam takovej dotaz, mozna jste se s tim uz nekdo setkal, pripadne bude
vedet Lukas G.
Mam aplikaci, komunikujici se tremi mobily pomoci synaser a at
prikazu. Problem je ten ze mobily co jsou pres com (t610 je pres BT) obcas
(pri vypnute
teto aplikaci) usnou, a pokud aplikaci spustim nasledujici kod
neprojde jak ma...
fSerPort.RaiseExcept := false;
fSerPort.Connect(fPort);
fSerPort.Config(19200,8,'N',1,false,true);
fSerPort.AtTimeout := 1000;
connected := pos('OK',fSerPort.ATCommand('AT'+#$0D)) > 0;
if connected then
begin
fIdent :=
GetRE(fSerPort.ATCommand('AT+CGSN'+#$0D),'\r\n\r\n([1-90]+)\r\n\r\n',1);
SendSMSToNetwork;
GetSMSFromMobile;
end;
k radku fIdent= to nedorazi...
Jedine co pomuze :
pustit hyperterminal, v nema se pripojit postupne k obema mobilum a
napsat ATZ na toto nevim proc zareagujou. z demo terminal v synaseru
to take nejde probudit mobily..
Pokud mobil proberu hyperterminalem nebo nahodou i jinak, par hodin je
vse OK, ale po delsi (radove hodiny - pri ladeni apod to nedela a to
jdu treba i na jidlo), dobe se opet problem opakuje..
Nepomaha ani vypnout/zapnout, ani vyndani z kabelu, ani mackani
ruznych klaves na mobilu..
(Jedna se o Siemens c35i, SE T68i, SE T610 BT)
Netusite nekdo jak ten mobil probudit z me app ?
Raul
mailto:raul@raphael.cz
Odpovedá: Ludek ZITA
30. 11. 2003 17:35
----- Original Message -----
From: "Raul Endymion" <raul@raphael.cz>
>
> Pokud mobil proberu hyperterminalem nebo nahodou i jinak, par hodin je
> vse OK, ale po delsi (radove hodiny - pri ladeni apod to nedela a to
> jdu treba i na jidlo), dobe se opet problem opakuje..
Ahoj.
Takova babska rada.
Zkousel jsi nastavit nejako prodlevu mezi otevrenim portu a odeslanim ATZ ?
Pripadne ATZ nekolikrat zopakovat.
Ludek
Odpovedá: Lukas Gebauer
30. 11. 2003 20:50
> Mam aplikaci, komunikujici se tremi mobily pomoci synaser a at
> prikazu. Problem je ten ze mobily co jsou pres com (t610 je pres BT) obcas
(pri vypnute
> teto aplikaci) usnou, a pokud aplikaci spustim nasledujici kod
> neprojde jak ma...
>
> fSerPort.RaiseExcept := false;
> fSerPort.Connect(fPort);
> fSerPort.Config(19200,8,'N',1,false,true);
Problem je schovan nekde uplne jinde nez tusit.
problem je v tom, ze se ti nepodari zkonfigurovat port. Mas tam totiz
nastaveny 1.5 stopbitu, a ma tam byt jen jeden stopbit! (pro jeden
stopbit neni totiz hodnota 1, ale ma tam byt hodnota 0! je to popsane v
dokumentaci a v komentarich ve zdrojacich. Take v poslednim Synaseru je
jsou na stopbity predefinovany konstanty.
takze zkus volat:
fSerPort.Config(19200,8,'N',0,false,true);
.. funguje?
To, ze ti hyperterminal 'probudil' mobil, to bylo jen o tom, ze ti
Hyperteminal prekonfiguroval parametry portu.
kdyz se pripojis Synaserem na port, tak prevezme posledni znamopu
konfiguraci serioveho portu, tedy pouzije to nastveni, co mu vnutil
hyperterminal. Kdyz pak volas Config se spatnou kombinaci parametru, nic
se v konfiguraci nezmeni, jen se signalizovana chyba v lastError.
--
Lukas Gebauer.
E-mail: gebauerl@mlp.cz
WEB: http://www.ararat.cz/synapse - Synapse Delphi and Kylix TCP/IP Library